The present invention relates generally to LAN emulation. More specifically, a system for establishing and maintaining master and standby LAN emulation server connections to provide a fault tolerant LAN without creating excess traffic or load on an LECS is disclosed.
In general, the purpose of Asynchronous Transfer Mode (ATM) LAN Emulation (LANE) is to emulate a multiple-access, broadcast media (e.g., Etheniet) over a point-to-point, virtual circuit oriented media (ATM). The specification for LAN Emulation over an ATM may be found in the LANE ATM specification, xe2x80x9cLAN emulation over ATMxe2x80x9d version 1.0 Document No. AF-LANE-0021 which is herein incorporated by reference, xe2x80x9cLAN emulation over ATM Version 1.0 Addendumxe2x80x9d Document No. AF-LANE-0050.000 which is herein incorporated by reference (collectively, the xe2x80x9cLANE specification version 1xe2x80x9d), and in version 2 of the LANE ATM specification, xe2x80x9cLAN emulation over ATM Version 2 LUNI Specification Documnent No. AF-LANE-0084.000 which is herein incorporated by reference (the xe2x80x9cLANE specification version 2xe2x80x9d). It is necessary to emulate the services available over the LAN so that the existing base of software can take advantage of the ATM network. LANE provides an easy way to connect existing LAN applications into the ATM environment by supporting xe2x80x9cunmodifiedxe2x80x9d interaction amongst legacy applications on the ATM network, and by supporting the interconnection of ATM networks with legacy LAN""s. This provides interoperability between applications on the ATM network and those on legacy LANs.
FIG. 1A shows the components of an emulated LAN (ELAN) implemented over an ATM network 100. The ELAN components include at least one LEC 102. LEC 102 may include end stations (e.g., hosts), routers or bridges and each LEC 102 is responsible for setting up the association with the ELAN assets to provide LANE services to a local host or router. Two other components of the LANE service are a LAN Emulation Server (LES) 104 and a Broadcast and Unknown Server (BUS) 106. LES 104 provides a registration facility to allow clients to register unicast and multicast media access control (MAC) addresses and/or ring route descriptors, and a forwarding service for control frames. BUS 106 receives frames from LEC 102 and retransmits them to other LEC""s on the ELAN. The LANE Service may use more than one BUS, and the BUS 106 may be distributed over multiple physical entities or collocated on a single box. In certain implementations, a single LES/BUS is collocated on one router. Another ELAN component, an LECS 108, enables LEC 102 to find and to connect to LES 104 for the proper ELAN over the ATM network 100.
LES 104 and LECS 108 are referred to as xe2x80x9cedge devicesxe2x80x9d on the ELAN because they are not required for the operation of the ATM network itself, but are required in order for the ATM network to emulate a LAN. The functions and protocols implemented for these devices are further described in the LANE specification.
The LECS, LES and BUS may be implemented on various network devices including switches, hosts, routers or bridges. Any device which includes an ATM interface and can support virtual circuits may function as the LECS or LES, including a PC with an ATM interface. Such devices include a processor capable of executing logic operations and memory, along with an ATM interface. Based on the operations executed by the processor, the device is able to process outside events, record those events in memory, and also to determine states and store those states in memory.
FIG. 1B shows how LEC 102 connects to the LANE service so that LEC 102 may perform data forwarding, address resolution and registration of MAC addresses with LES 104. When LEC 102 wishes to connect to an ELAN, it locates LECS 108 on ATM network 100 at a well-known address, and then sets up a point to point configure direct connection 112 with LECS 108. LECS 108 services configuration requests from LEC 102 and tells LEC 102 which ELAN it should join and the address of the LES that it should use. LEC 102 then sets up a control direct connection 114 with LES 104. LES 104 establishes a point to multipoint connection 116 with LEC 102, as well as with any other LEC 110 on the ELAN. Finally, LEC 102 establishes a multicast send point to point connection 118 with BUS 106 and a point to multipoint multicast forwvard connection 120 is set up between BUS 106 and LEC 102 and any other LEC 110.
Once LEC 102 registers with LES 104, it receives address resolution requests for unregistered destinations from LES 104. LES 104 provides a registration facility to allow clients to register unicast and multicast MAC addresses and/or token ring route descriptors, and a forwarding service for control frames. Optionally, it may generate control frames. Bridges may register with LES 104 any MAC addresses that they are capable of foraarding. BUS 106 receives frames from clients or other multicast servers, and retransmits them to other clients. There is at least one BUS in an emulated LAN which handles broadcast and multicast addresses.
In order for the ELAN to function, the servers that function as LES 104 and LECS 108 must remain operational. Wien LEC 102 wants to participate in the ELAN, it must first ask LECS 108 for the address of LES 104 and then execute a joining procedure with the LES. When this transaction is completed, LEC 102 connects to LES 104. This completes the joining of LEC 102 to the ELAN. LEC 102 must maintain a control direct connection with LES 104 as long as it continues to be connected to the ELAN. LES 104 and LECS 108 therefore represent potential single points of failure for the ELAN. Although the LANE specification details the operation of the LECS""s and the LES""s as described above, there is no provision for a system of redundant or backup servers.
What is needed is a redundancy scheme that provides a way for backup or slave servers to automatically and transparently take over the tasks of a failed master server so that the LANE service may continue to operate without significant disruption. Because LES 104 and LECS 108 may be interconnected to a numerous and changing group of LEC""s, a way is needed to both detect failure of these edge devices and redesignate a slave or backup device as the master device and also to reconnect the LEC""s to the new master devices with minimum disruption to the LEC""s.
In addition, in a system where a large number of LEC""s may be connected to an LES, a method is needed to direct LEC""s to a backup LES upon failure of a master LES that does not require all of the LEC""s to contact the LECS. Also, it would be desirable if a method of determining a master LES from among a group of available LES""s could be devised that would minimize switching among LES""s while a system is being brought on line. Finally, it is important that such a system be able to accommodate older LECS""s, LES""s and LEC""s that have not been modified to operate in the system as well as LECS""s, LES""s and LEC""s that have been designed to operate in the system. Thus, a robust redundancy scheme compatible with the LANE specification that reduces backend traffic between LES""s and the master LECS and that also reduces the need for clients to contact an LECS when an LES fails is needed.
A redundancy scheme that reduces backend traffic between LES""s and the master LECS and that also reduces the need for clients to contact an LECS when an LES fails is disclosed. The master LECS broadcasts configuration information to all LES""s that includes a list of the master LES and any available backup LES""s. This information is relayed by the LES""s to modified LEC""s that keep track of the available LES""s. The LEC""s use such information instead of contacting the LECS to determine the master LES before joining the LAN. When the master LES fails, LEC""s may switch over to the highest priority backup LES without contacting the LECS. In addition, a method is disclosed for designating the first LES made available as the master LES to avoid moving LEC""s when a higher priority LES comes on line. Finally a system wherein LES""s verify LEC""s without contacting the LECS is disclosed.
It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one embodiment, a method of transferring an enhanced LAN Emulation Client from a first LAN Emulation Server to a second LAN Emulation Server includes determining at an LECS the addresses of the first LES and the second LES. The first LES and the second LES are connected to the LECS. The addresses of the first LES and the second LES are sent to the enhanced LEC so that the addresses of the first LES and the second LES may be stored at the enhanced LEC. When the enhanced LEC determines that the first LES has failed, the address of the second LES is looked up at the enhanced LEC and the enhanced LEC connects to the second LES.